package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 针入度试验业务对象 n_laboratory_penetration
 *
 * @author zyb
 * @date 2023-09-11
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class NLaboratoryPenetrationBo extends BaseEntity {

    /**
     * 主键
     */
    @NotBlank(message = "主键不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 拌合站主键，关联sys_organization表主键
     */
    @NotBlank(message = "拌合站主键，关联sys_organization表主键不能为空", groups = { AddGroup.class, EditGroup.class })
    private String organizationId;

    /**
     * 试验设备主键，关联laboratory
     */
    @NotBlank(message = "试验设备主键，关联laboratory不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deviceId;

    /**
     * 工程主键，关联project_info表主键
     */
    @NotBlank(message = "工程主键，关联project_info表主键不能为空", groups = { AddGroup.class, EditGroup.class })
    private String projectId;

    /**
     * 施工部位
     */
    @NotBlank(message = "施工部位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String engineeringSite;

    /**
     * 试样编号
     */
    @NotBlank(message = "试样编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sampleNo;

    /**
     * 试样名称
     */
    @NotBlank(message = "试样名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sampleName;

    /**
     * 试验开始时间
     */
    @NotNull(message = "试验开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date startTime;

    /**
     * 试验结束时间
     */
    @NotNull(message = "试验结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date endTime;

    /**
     * 数据采集时间
     */
    @NotNull(message = "数据采集时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date uploadTime;

    /**
     * 数据入库时间
     */
    @NotNull(message = "数据入库时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date insertTime;

    /**
     * 针入度值1
     */
    @NotNull(message = "针入度值1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal value1;

    /**
     * 针入度值2
     */
    @NotNull(message = "针入度值2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal value2;

    /**
     * 针入度数值3
     */
    @NotNull(message = "针入度数值3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal value3;

    /**
     * 针入度平均值
     */
    @NotNull(message = "针入度平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal average;

    /**
     * 是否合格：0=合格；1=不合格；
     */
    @NotBlank(message = "是否合格：0=合格；1=不合格；不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isQualified;

    /**
     *
     */
    @NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal minValue;

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baseCode;

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deptPkid;

    /**
     *
     */
    @NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal maxValue;

    /**
     *
     */
    @NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal temperature;

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private String testType;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String engineeringName;


}
